2022搭建私有CodePush库 |
您所在的位置:网站首页 › eg284820325kr code › 2022搭建私有CodePush库 |
前提条件:已安装npm 安装code-push-cli 安装本地部署的话不能安装最新版本,应该制定版本为2.1.9,否则code-push login IP:Host的时候自动打开的页面为Not found(404),bugfix链接参考,安装命令如下 npm install [email protected] -g 复制代码 修改 admin 密码举例 $ curl -X PATCH -H "Authorization: Bearer mytoken" -H "Accept: application/json" -H "Content-Type:application/json" -d '{"oldPassword":"123456","newPassword":"654321"}' http://YOU_SERVICE_IP:3000/users/password 复制代码本地部署code-push-server 安装 PM2 PM2简介PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。 下面就对PM2进行入门性的介绍,基本涵盖了PM2的常用的功能和配置。 $ sudo npm i -g pm2 复制代码 安装 MYSQL参考链接 Linux macOS Microsoft Windows Others注意. mysql8.x 默认的 认证 caching_sha2_pasword 在node-mysql2中不被支持 参见 issue这会导致node连接数据库失败 解决方法 #修改默认的root用户的认证方式 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourRootPassword'; -- or #新建一个用户并设置他的认证方式为mysql_native_password CREATE USER 'foo'@'%' IDENTIFIED WITH mysql_native_password BY 'bar'; 复制代码 使用源码安装 code-push-server (实践)本次实践使用此方法,因为比较方便找到配置文件 $ git clone https://github.com/lisong/code-push-server.git $ cd code-push-server $ npm install 复制代码 使用npm全局安装code-push-server $ npm install code-push-server@latest -g 复制代码 初始化数据库源码方式安装参考 $ ./bin/db init --dbhost "mysql安装的ip" --dbport "mysql安装的端口默认3306" --dbuser "用户名" --dbpassword "密码" 复制代码全局安装参考 $ code-push-server-db init --dbhost "mysql安装的ip" --dbport "mysql安装的端口默认3306" --dbuser "用户名" --dbpassword "密码" 复制代码成功后输出: success 修改code-push-server相关配置找到项目目录下config目录中的config文件并作出如下修改: local.storageDir 创建一个storageDir目录并确保这个目录可读写,进入目录输入pwd,复制出路径粘贴到这里 local.downloadUrl 将 127.0.0.1 改成你使用的机器的ip. common.dataDir 创建一个dataDir目录并确保这个目录可读写,进入目录输入pwd,复制出路径粘贴到这里 jwt.tokenSecret 打开网址获取密钥 https://www.grc.com/passwords.htm, 并替换 INSERT_RANDOM_TOKEN_KEY. db 设置: username,password,host,port 改成自己配置的mysql 为pm2做配置找到项目目录下docs目录中的process.json文件并作出如下修改: script 如果是全局安装则设置成 code-push-server,如果是源码安装则使用源码中的路径 "项目路径/bin/www CONFIG_FILE 使用config.js 文件的绝对路径 启动code-push-server服务在docs文件夹下执行命令 $ pm2 start process.json 复制代码 重启code-push-server服务 $ pm2 restart process.json 复制代码 关闭code-push-server服务 $ pm2 stop process.json 复制代码启动成功效果如下图所示
YOUR_CODE_PUSH_SERVER_IP为code-push-server服务对应的ip地址 $ curl -I http://YOUR_CODE_PUSH_SERVER_IP:3000/ 复制代码返回结果如下 return httpCode 200 OK HTTP/1.1 200 OK X-DNS-Prefetch-Control: off X-Frame-Options: SAMEORIGIN Strict-Transport-Security: max-age=15552000; includeSubDomains X-Download-Options: noopen X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Content-Type: text/html; Content-Length: 592 ETag: W/"250-IiCMcM1ZUFSswSYCU0KeFYFEMO8" Date: Sat, 25 Aug 2018 15:45:46 GMT Connection: keep-alive 复制代码 使用 redis 提升并发和安全性在config.js文件中配置redis updateCheckCache 配置为true则使用redis rolloutClientUniqueIdCache 配置为true则使用redis tryLoginTimes 配置为true则使用redis 升级 npm全局安装方式 $ npm install -g code-push-server@latest $ code-push-server-db upgrade --dbhost "your mysql host" --dbport "your mysql port" --dbuser "your mysql user" --dbpassword "your mysql password" # upgrade codepush database $ pm2 restart code-push-server # restart service 复制代码 源码安装方式 $ cd /path/to/code-push-server $ git pull --rebase origin master $ ./bin/db upgrade --dbhost "your mysql host" --dbport "your mysql port" --dbuser "your mysql user" --dbpassword "your mysql password" # upgrade codepush database $ pm2 restart code-push-server # restart service 复制代码 查看 pm2 log $ pm2 ls $ pm2 show code-push-server $ tail -f "output file path" 复制代码 code-push-server支持的存储方式 local (default) qiniu (qiniu) s3 (aws) oss (aliyun) tencentcloud 默认监听 Host/Port 0.0.0.0/3000可以在 process.json进行配置, env: PORT,HOST 配置 react-native 项目参考文章# React-Native热更新之微软CodePush中的相关配置 因为降低了code-push-cli的版本,所以有些命令会略有不同 创建Android项目key code-push app add MyRNAndroid android react-native 复制代码参考:github.com/lisong/code… |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |